function animate(obj, target, callback) {
    // 清除之前的定时器
    clearInterval(obj.timer);
    obj.timer = setInterval(() => {
      // 当前位置
      var currentleft = obj.offsetLeft;
      // 条件判断
      if (currentleft == target) {
        clearInterval(obj.timer);
        // 回调判断
        if (callback != null) {
          callback();
        }
        return;
      }
      // 速度/步长 = (目标位置 - 当前位置) / 10
      var step = (target - currentleft) / 10;
      // 步长取整
      step = step > 0 ? Math.ceil(step) : Math.floor(step);
      obj.style.left = currentleft + step + "px";
    }, 30);
  }